# _*_ coding: UTF-8 _*_
# @Time     : 2021/10/27 16:37
# @Author   : 郑鲁明
# @Site     : http://www.hzdledu.cn/
# @File     : 类的封装继承多态.py
# @Software : PyCharm

# 2.3 封装
class Person():
    def __init__(self, lname, fname):
        self.first_name = fname
        self.last_name = lname  # 公有变量
        self.__money = 10000  # 私有变量

    def descibe_user(self):
        print(f'我叫{self.last_name}{self.first_name}')

    def greet_user(self):
        print(f'你好,{self.last_name}{self.first_name}')

    def lend(self, m):
        self.__money -= m
        print(f'我的钱还剩:{self.__money}')


if __name__ == '__main__':
    person1 = Person('张', '三')
    # print(person1.__money)#类的外部无法访问私有变量
    person1.lend(500)  # 类的私有变量可以通过方法间接访问，提高代码的安全性

# 继承
# 语法
# class 类名（父类名）：
#     属性
#     方法

from c11_面向对象编程.面向对象程序设计 import Dog


class ChinaGardenDog(Dog):
    def guard(self):
        print('看家')


if __name__ == '__main__':
    wangcaiDog = ChinaGardenDog('猫', '黑色')
    wangcaiDog.eat()
    wangcaiDog.bark()
    wangcaiDog.guard()
